#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h>
#include <stdbool.h>
#include <math.h>


#if 0
bool _isgoal(int val)
{
    int n = val;
    int cnt = 0;
    while (n)
    {
        n /= 10;
        cnt++;
    }

    n = val;
    while (n)
    {
        int div = (int)pow(10, cnt - 1);

        if (!(n % 10 == n / div))
            return false;

        n %= div;
        n /= 10;
        cnt -= 2;

        if (n < 10)
            return true;
    }

    return true;
}

int main() 
{
    int no = 0;
    scanf("%d", &no);

    for (int i = 1; i <= no; i++)
    {
        if (_isgoal(i))
            printf("%d\n", i);
    }

    return 0;
}
#endif

bool _isgoal(int val)
{
    int n = val;
    int sum = 0, cnt = 0;
    while (n)
    {
        if (n % 10 == 0)
            return false;

        sum += (n % 10) * (int)pow(10, cnt++);
        n /= 10;
    }

    if (sum == val)
        return true;
    else
        return false;
}

int main()
{
    int no = 0;
    scanf("%d", &no);

    for (int i = 1; i <= no; i++)
    {
        if (_isgoal(i))
            printf("%d\n", i);
    }

    return 0;
}

//int main()
//{
//	int a = 1.000 == 1;
//
//
//	printf("%d\n", a);
//
//	return 0;
//}